Tools: Topology: Add Micsel module to MFCC capture pipeline#10800
Tools: Topology: Add Micsel module to MFCC capture pipeline#10800singalsu wants to merge 3 commits into
Conversation
There was a problem hiding this comment.
Pull request overview
This pull request adds a Mic Selector (micsel) stage to the SoundWire (SDW) MFCC “audio features” capture pipelines, along with a new selector configuration blob and an updated blob-generation script.
Changes:
- Switch SDW Jack and SDW DMIC “audio feature” capture pipelines to a new
host-gateway-src-micsel-mfcc-capturepipeline and add a micsel bytes control using a new “stereo → dual-mono” selector blob. - Add a new reusable topology2 pipeline class
host-gateway-src-micsel-mfcc-capture. - Add/extend selector blob generation to produce
downmix_stereo_to_doublemonoand include it in topology2.
Reviewed changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| tools/topology/topology2/platform/intel/sdw-jack-audio-feature.conf | Switches Jack audio-features capture pipeline to the new micsel+mfcc pipeline and adds micsel bytes control. |
| tools/topology/topology2/platform/intel/sdw-dmic-audio-feature.conf | Switches DMIC audio-features capture pipeline to the new micsel+mfcc pipeline and adds micsel bytes control. |
| tools/topology/topology2/include/pipelines/cavs/host-gateway-src-micsel-mfcc-capture.conf | Introduces the new pipeline class that routes SRC → micsel → MFCC for capture. |
| tools/topology/topology2/include/components/micsel/downmix_stereo_to_doublemono.conf | Adds a new selector_config blob for stereo → dual-mono downmix. |
| tools/topology/topology2/cavs-sdw.conf | Includes the new pipeline class in the cavs-sdw topology include set. |
| src/audio/selector/tune/sof_selector_blobs.m | Adds dual-mono channel config and emits the new downmix blob. |
9ab355b to
ab8db4f
Compare
| <include/common/input_audio_format.conf> | ||
| <include/common/output_audio_format.conf> | ||
| <include/components/pipeline.conf> | ||
| <include/components/host-copier.conf> | ||
| <include/components/src.conf> |
There was a problem hiding this comment.
The SubTreeCopy didn't work for this. I assume it's because the stream format is changed for every widget.
| @@ -27,7 +27,7 @@ | |||
| <host-gateway-playback.conf> | |||
| <host-gateway-capture.conf> | |||
| <host-gateway-tdfb-drc-capture.conf> | |||
ab8db4f to
56bb5ca
Compare
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 6 out of 6 changed files in this pull request and generated 1 comment.
Comments suppressed due to low confidence (1)
tools/topology/topology2/include/pipelines/cavs/host-gateway-src-micsel-mfcc-capture.conf:92
- micsel output is configured as dual-mono (out_ch_cfg = $CHANNEL_CONFIG_DUAL_MONO), but the downstream MFCC widget’s input_audio_format (defaults from include/common/input_audio_format.conf) remains stereo unless explicitly overridden. Please align the MFCC input channel config (and map if needed) to dual-mono to avoid a channel-config mismatch on the micsel -> mfcc link.
This patch adds build of blob downmix_stereo_to_mono.conf. It is useful for processing mono input for MFCC. The sum of left and right multiplied by 0.5 is passed to both left and right sink channels. The comment in blobs export is also updated to current path of the script. Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
The location of the Micsel blobs export script changed. This patch updates the comment text in each configuration blob to show the correct path to the script. Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
This patch adds the Micsel (or Selector) module with a configuration blob for stereo to double mono to source of MFCC. The Micsel module has better input select capabilities than bare MFCC module. The sum of L+R provides a slightly better SNR than the single (left) channel pick with MFCC for it's mono processing. It will reduce a bit noise in the audio features and possibly improve speech recognition quality. The previous pipeline class host-gateway-src-mfcc-capture.conf is removed because there is no other use for it. Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
56bb5ca to
654b17c
Compare
I've now updated all Selector blobs. The comments changes are in a separate new commit. |
No description provided.